|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Решение:набор процедур, которые бы выполняли поставленные условия, может выглядеть так, как представлено ниже (для создания панели инструментов нужно запустить процедуру ShowNewToolbar). Если возможности эти процедур нужны во всех документах Word, то лучше их поместить в модуль проекта normal.dot.
Public Sub ShowNewToolbar () 'Исходная процедура, которая создает новую панель инструментов Assistant
'Проверка - если панель с таким именем уже есть, создавать ее не надо Dim cBar As CommandBar For Each cBar In CommandBars If cBar.Name = "Assistant" Then cBar.Visible = True Exit Sub End If Next
'Создаем панель управления Dim CBar1 As CommandBar Set CBar1 = CommandBars.Add("Assistant", msoBarTop) CBar1.Enabled = True CBar1.Visible = True
' Помещаем на ней первую кнопку Dim But1 As CommandBarControl Set But1 = CBar1.Controls.Add(msoControlButton) But1.Caption = "Показать помощника" But1.FaceId = 52 But1.OnAction = "ShowAssistant"
' Помещаем на ней вторую кнопку Dim But2 As CommandBarControl Set But2 = CBar1.Controls.Add(msoControlButton) But2.Caption = "Отключить помощника" But2.FaceId = 103 But2.OnAction = "DisableAssistant"
End Sub
Public Sub ShowAssistant() 'Процедура, которая запускается по нажатию кнопки "Показать помощника"
' Включение помощника Assistant.On = True Assistant.Visible = True
'Начинается код на создание нового меню
'Проверяем, есть ли уже такой пункт в стандартном меню Dim cBarCont As CommandBarControl For Each cBarCont In CommandBars(41).Controls If cBarCont.Caption = "Работа с помощником" Then Exit Sub End If Next
'Создаем меню Dim CBar1 As CommandBar Set CBar1 = CommandBars(41) CBar1.Enabled = True CBar1.Visible = True
Dim Menu1 As CommandBarPopup Dim SubMenu1 As CommandBarPopup Dim SubMenu1Item As CommandBarButton
' Создаем верхнее меню Set Menu1 = CBar1.Controls.Add(msoControlPopup) Menu1.Caption = "Работа с помощником"
'Создаем вложенное меню Set SubMenu1 = Menu1.Controls.Add(msoControlPopup) SubMenu1.Caption = "Действия"
'Создаем элемент во вложенном подменю и назначаем ему процедуру TextToAssistant Set SubMenu1Item = SubMenu1.Controls.Add(msoControlButton) SubMenu1Item.FaceId = 5 SubMenu1Item.Caption = "Показать выделенный текст" SubMenu1Item.OnAction = "TextToAssistant"
End Sub
Public Sub DisableAssistant() 'Процедура, которая отключает помощника и созданное меню 'Этот код можно использовать для кнопки "Отключить помощника"
Assistant.On = False
Dim cBarCont As CommandBarControl For Each cBarCont In CommandBars(41).Controls If cBarCont.Caption = "Работа с помощником" Then cBarCont.Delete Exit Sub End If Next
End Sub
Public Sub TextToAssistant() 'Процедура, которая выводит в помощнике выделенный в документе текст
Dim oBal1 As Balloon Set oBal1 = Assistant.NewBalloon oBal1.Text = Selection.Text oBal1.Show
End Sub
|
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Получить этот учебник в формате PDF (Acrobat Reader) или DOC (Microsoft Word) |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||